package br.gov.sjc.adapter;

import java.util.List;
import br.gov.sjc.classes.Trabalho;
import br.gov.sjc.aluguelsocial.R.layout;
import br.gov.sjc.aluguelsocial.R.trabalho;
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

public class TrabalhoAdapter extends BaseAdapter {
    private Context context;
    private String TAG = "TrabalhoAdapter";
    private List<Trabalho> lstTrabalho;
    private LayoutInflater TrabalhoInflater;
    
    public TrabalhoAdapter(Context context, List<Trabalho> listTrabalho) {
        this.context = context;
        this.lstTrabalho = listTrabalho;
        TrabalhoInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }
    //Atualizar ListView de acordo com o lstContato
    @Override
    public void notifyDataSetChanged() {   
        try{
            super.notifyDataSetChanged();
        }catch (Exception e) {
            Log.e(TAG.toString(),"notifyDataSetChanged - Erro : " + e.getMessage());
        }
    }
    public int getCount() {
        return lstTrabalho.size();
    }
    //Remover item da lista
    public void remove(final Trabalho item) {
        this.lstTrabalho.remove(item);
    } 
    //Adicionar item na lista
    public void add(final Trabalho item) {
        this.lstTrabalho.add(item);
    }
    public Object getItem(int position) {
        return lstTrabalho.get(position);
    }
    public long getItemId(int position) {
        return position;
    }
    public View getView(int position, View convertView, ViewGroup viewGroup) {
        try
        {
             
        	Trabalho trabalhovo = lstTrabalho.get(position);
 
            //O ViewHolder irá guardar a instâncias dos objetos do estado_row
            ViewHolder holder;
             
            //Quando o objeto convertView não for nulo nós não precisaremos inflar
            //os objetos do XML, ele será nulo quando for a primeira vez que for carregado
            if (convertView == null) {
                convertView = TrabalhoInflater.inflate(layout.trabalho2tw, null);
                //Cria o Viewholder e guarda a instância dos objetos
                holder = new ViewHolder();
                holder.spTTipo = (TextView) convertView.findViewById(trabalho.lblTtipo);
                holder.spTOcupacao = (TextView) convertView.findViewById(trabalho.lblTOcupacao);
                holder.tbTRend = (TextView) convertView.findViewById(trabalho.lblTRendimento);
                holder.tbTHoras = (TextView) convertView.findViewById(trabalho.lblTHoras);
                //holder.cbTInss = (TextView) convertView.findViewById(trabalho.lblTValor);
                convertView.setTag(holder);
                
            } else {
                //pega o ViewHolder para ter um acesso rápido aos objetos do XML
                //ele sempre passará por aqui quando,por exemplo, for efetuado uma rolagem na tela 
                holder = (ViewHolder) convertView.getTag();
                
            }
            
            // * COLOCA DADOS NA LISTVIEW
            holder.spTTipo.setText(trabalhovo.getTipo());
            holder.spTOcupacao.setText(trabalhovo.getOcupacao());
            holder.tbTRend.setText(trabalhovo.getRendimento());
            holder.tbTHoras.setText(trabalhovo.getHorasMes());
            holder.cbTInss.setText(trabalhovo.getINSS()); /**/
            
            Log.v(TAG.toString(),"5 - holder.cbTInss.setText");
            return convertView;
            
        }catch (Exception e) {
            Log.e(TAG.toString(),"6 - getView - Erro : " + e.getMessage() +"/"+ e.getCause());
        }
        return convertView;
    }
    //Criada esta classe estática para guardar a referência dos objetos abaixo
    static class ViewHolder {
        public TextView spTTipo;
        public TextView spTOcupacao;
        public TextView tbTRend;
        public TextView tbTHoras;
        public TextView cbTInss;
        
    }  
}
